One major problem in maintaining a software system is to understand how manyfunctional features in the system and how these features are implemented. Inthis paper a novel approach for locating features in code by semantic anddynamic analysis is proposed. The method process consists of three steps: Thefirst uses the execution traces as text corpus and the method calls involved inthe traces as terms of document. The second ranks the method calls in order tofilter out omnipresent methods by setting a threshold. And the third steptreats feature-traces as first class entities and extracts identifiers from therest method source code and a trace-by-identifier matrix is generated. Then asemantic analysis model-LDA is applied on the matrix to extract topics, whichact as functional features. Through building several corresponding matrices,the relations between features and code can be obtained for comprehending thesystem functional intents. A case study is presented and the execution resultsof this approach can be used to guide future research.
展开▼